<template>
  <!-- svg：图标外层容器节点，内部需要与 use 标签结合使用。 -->
  <!-- xlink:href：执行用哪一个图标，属性值务必使用 #icon- 图标名字。 -->
  <!-- use：标签，fill 属性可以设置图标的颜色。 -->
  <svg :style="{ width, height }">
    <use :xlink:href="symbolId" rel="external nofollow" :fill="color"></use>
  </svg>
</template>

<script name="SvgIcon" setup lang="ts">
import { computed } from "vue";
const props = defineProps({
  prefix: {
    type: String,
    default: "icon",
  },
  name: String,
  iconClass: {
    type: String,
    required: false,
  },
  color: {
    type: String,
    default: "#000",
  },
  width: {
    type: String,
    default: "16px",
  },
  height: {
    type: String,
    default: "16px",
  },
});
const symbolId = computed(() => `#${props.prefix}-${props.name}`);
</script>

<style scoped lang="scss"></style>
